AGPatch 1.2 by Ben Hutchings ---------------------------- Legal: COPYRIGHT 1997 - FREEWARE - NO EXPRESS OR IMPLIED WARRANTY ----- Introduction ------------ AmigaGuides were a great idea but it's virtually impossible to create a decent hypertext document in AmigaGuide form. There's not much that can be done about this until some new standard emerges for Amiga hypertext, but for the time being AGPatch attempts to fix some of the absurd incompatibilities between different versions of amigaguide.datatype. It only works with amigaguide.datatype v40.12, which as far as I know is the last version publicly released. This is included in the OS 3.1 upgrade pack and on many magazine cover-CDs; you do not need 3.1 ROMs to use it. The Problems ------------ Problem 1: AmigaGuide up to v39 let you include a literal "@" in a node by putting "\@" in the source. Any number of literal backslashes could be included before the "@" simply by adding an extra backslash; e.g. "\\\@" can be included by putting "\\\\@" in the source. AmigaGuide v40 changes this: backslash escapes any character (including newline), and always exactly one. So "\/" becomes "/" whereas it shouldn't change at all, and "\\\@" becomes "\@" whereas it should become "\\@". This wrecks many text diagrams, including those in Commodore's own RKRM guides! It's now impossible to display all guides as the author intended, because there is no way of telling whether a guide has been designed for AG v39 or v40. The best solution I could see was to make backslash only escape "@" or another backslash, so that is what this patch does. This interpretation should allow *virtually* every guide to be displayed as intended. Problem 2: AmigaGuide before v39 allowed links to be highlighted in various ways, including the default button-look. AmigaGuide v39/v40 removed this option and makes every link look like a button; furthermore, it adds an extra 2 pixels before and after every link for the button border, so tables of links don't always line up any more. This patch removes the extra space at the sides of links, and underlines links rather than drawing buttons (because button frames may overlap text otherwise). With this patch installed, link text is normally rendered in black and underlined; but the currently selected link is highlighted with a blue background and the link text turns white when the link is selected with the mouse. This still doesn't seem quite right to me, so if you can suggest a better way of rendering links please do! Problem 3: AmigaGuide v39/v40 has searching and marking disabled, apparently because these functions are buggy. I tried re-enabling the marking function, but it didn't work properly. Searching doesn't appear to be supported by the datatypes API, so I don't know how this could be re-enabled. There might be a solution to this, but I've no idea what it would be. Usage ----- AGPatch loads amigaguide.datatype into memory and patches its code. It does *not* modify the original file. AGPatch can only be run from the CLI. The command format is AGPatch [NOESCAPEPATCH] [LINKPATCH] The default behaviour is to patch only the backslash escape code (Problem 1). Using the NOESCAPEPATCH switch disables this patch; using the LINKPATCH enables the patch for link display (Problem 2). AGPatch cannot be removed once it has been installed. This is partly because it's rather tricky to do so, but also because I'm too lazy to do it properly. ;-) To see the effect of the patch, run it now and view some AmigaGuides. If you're happy with it, copy AGPatch onto your hard disk and add it into your s:user-startup script. History ------- version 1.0 (4.11.97) First public release. version 1.1 (17.7.97) Added options to enable or disable the two patches, and improved documentation. version 1.2 (21.7.97) Fixed a bug that crept into version 1.1, which caused programs later in user-startup or startup-sequence to become unstable. Contact addresses ----------------- Ben Hutchings 43 Harrison Close Reigate Surrey RH2 7HS ENGLAND email: benjamin.hutchings@worcester.oxford.ac.uk WWW: http://users.ox.ac.uk/~worc0223/amiga/freeware/ IRC: womble or wombleII, usually on Undernet #amigacafe